<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0 ,minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">

    <title>结算页面</title>

    <link href="../AmazeUI-2.4.2/assets/css/amazeui.css" rel="stylesheet" type="text/css" />

    <link href="../basic/css/demo.css" rel="stylesheet" type="text/css" />
    <link href="../css/cartstyle.css" rel="stylesheet" type="text/css" />

    <link href="../css/jsstyle.css" rel="stylesheet" type="text/css" />

    <style type="text/css">
        .deftip{
            background: #4db14d;
            color: #2f2f2f;
        }
        .deftip:hover{
            background: #6cc67c;
            color: #0f1024;
        }
        .OP_LOG_BTN:hover{
            background: #5eb95e;
        }
        .selBg{
            background: #6cc67c;
        }
    </style>

    <!--<script type="text/javascript" src="../js/address.js"></script>-->

    <script src="../js/plugins/vue/dist/vue.global.js"></script>
    <script src="../js/plugins/axios/dist/axios.js"></script>
    <script src="../js/commons.js"></script>
    <script src="../js/pcsa.js"></script>

</head>

<body id="app">

<!--顶部导航条 -->
<div class="am-container header">
    <ul class="message-l">
        <div class="topMessage">
            <div class="menu-hd" v-if="username">
                <a href="#" target="_top" class="h">欢迎您：{{username}}</a>
            </div>
            <div class="menu-hd" v-else>
                <a href="#" target="_top" class="h">亲，请登录</a>
                <a href="#" target="_top">免费注册</a>
            </div>
        </div>
    </ul>
    <ul class="message-r">
        <div class="topMessage home">
            <div class="menu-hd"><a href="#" target="_top" class="h">商城首页</a></div>
        </div>
        <div class="topMessage my-shangcheng">
            <div class="menu-hd MyShangcheng"><a href="#" target="_top"><i class="am-icon-user am-icon-fw"></i>个人中心</a></div>
        </div>
        <div class="topMessage mini-cart">
            <div class="menu-hd"><a id="mc-menu-hd" href="#" target="_top"><i class="am-icon-shopping-cart  am-icon-fw"></i><span>购物车</span><strong id="J_MiniCartNum" class="h">0</strong></a></div>
        </div>
        <div class="topMessage favorite">
            <div class="menu-hd"><a href="#" target="_top"><i class="am-icon-heart am-icon-fw"></i><span>收藏夹</span></a></div>
        </div>
    </ul>
</div>

<!--悬浮搜索框-->

<div class="nav white">
    <div class="logo"><img src="../images/logo.png" /></div>
    <div class="logoBig">
        <li><img src="../images/logobig.png" /></li>
    </div>

    <div class="search-bar pr">
        <a name="index_none_header_sysc" href="#"></a>
        <form>
            <input id="searchInput" name="index_none_header_sysc" type="text" placeholder="搜索" autocomplete="off">
            <input id="ai-topsearch" class="submit am-btn" value="搜索" index="1" type="submit">
        </form>
    </div>
</div>

<div class="clear"></div>
<div class="concent">
    <!--地址 -->
    <div class="paycont">
        <div class="address">
            <h3>确认收货地址 </h3>
            <div class="control">
                <div class="tc-btn createAddr theme-login am-btn am-btn-danger" @click="popAddAddressDialog">使用新地址</div>
            </div>
            <div class="clear"></div>
            <ul>
                <div class="per-border"></div>
                <li class="user-addresslist defaultAddr" :style="{backgroundImage:selAddressId==address.id?'url(../images/peraddressbg.png)':'url(../images/peraddbg.png)'}" v-for="address in addressList" :key="address.id">

                    <div class="address-left">
                        <div class="user DefaultAddr">

										<span class="buy-address-detail">
                   <span class="buy-user">{{address.contacts}} </span>
										<span class="buy-phone">{{address.phone}}</span>
										</span>
                        </div>
                        <div class="default-address DefaultAddr">
                            <span class="buy-line-title buy-line-title-type">收货地址：</span>
                            <span class="buy--address-detail">
								   <span class="province">{{address.address.split('-')[0]}}</span>省
										<span class="city">{{address.address.split('-')[1]}}</span>&nbsp;&nbsp;
										<span class="dist">{{address.address.split('-')[2]}}</span>
										<span class="street">{{address.fulladdress}}</span>
										</span>

                            </span>
                        </div>
                        <ins class="deftip" style="cursor: pointer;" v-show="address.id!=selAddressId" @click="selAddressId=address.id">使用</ins>
                    </div>
                    <div class="address-right">
                        <a href="../person/address.html">
                            <span class="am-icon-angle-right am-icon-lg"></span></a>
                    </div>
                    <div class="clear"></div>

                    <div class="new-addr-btn">
                        <a href="#" class="hidden">设为默认</a>
                        <span class="new-addr-bar hidden">|</span>
                        <a href="javascript:;" @click="handleEdit(address)">编辑</a>
                        <span class="new-addr-bar">|</span>
                        <a href="javascript:void(0);" @click="delAddress(address.id)">删除</a>
                    </div>

                </li>


            </ul>

            <div class="clear"></div>
        </div>
        <!--物流 -->
        <div class="logistics">
            <h3>选择物流方式</h3>
            <ul class="op_express_delivery_hot">
                <li @click="wuliuSel='yuantong'" data-value="yuantong" :class="{OP_LOG_BTN:true,selBg: wuliuSel=='yuantong' }"><i class="c-gap-right" style="background-position:0px -468px"></i>圆通<span></span></li>
                <li @click="wuliuSel='shentong'" data-value="shentong" :class="{OP_LOG_BTN:true,selBg: wuliuSel=='shentong'  }"><i class="c-gap-right" style="background-position:0px -1008px"></i>申通<span></span></li>
                <li @click="wuliuSel='yunda'" data-value="yunda" :class="{OP_LOG_BTN:true,selBg: wuliuSel=='yunda'  }"><i class="c-gap-right" style="background-position:0px -576px"></i>韵达<span></span></li>
                <li @click="wuliuSel='zhongtong'" data-value="zhongtong" :class="{OP_LOG_BTN:true,selBg: wuliuSel=='zhongtong'  }"><i class="c-gap-right" style="background-position:0px -324px"></i>中通<span></span></li>
                <li @click="wuliuSel='shunfeng'" data-value="shunfeng" :class="{OP_LOG_BTN:true,selBg: wuliuSel=='shunfeng'  }"><i class="c-gap-right" style="background-position:0px -180px"></i>顺丰<span></span></li>
            </ul>
        </div>
        <div class="clear"></div>

        <!--支付方式-->
        <div class="logistics">
            <h3>选择支付方式</h3>
            <ul class="pay-list">
                <li @click="paySel='wangyin'" :class="{pay:true,card:true,selBg: paySel=='wangyin'}"><img src="../images/wangyin.jpg" />银联<span></span></li>
                <li @click="paySel='weizhifu'" :class="{pay:true,qq:true,selBg: paySel=='weizhifu'}"><img src="../images/weizhifu.jpg" />微信<span></span></li>
                <li @click="paySel='zhifubao'" :class="{pay:true,taobao:true,selBg: paySel=='zhifubao'}"><img src="../images/zhifubao.jpg" />支付宝<span></span></li>
            </ul>
        </div>
        <div class="clear"></div>

        <!--订单 -->
        <div class="concent">
            <div id="payTable">
                <h3>确认订单信息</h3>
                <div class="cart-table-th">
                    <div class="wp">

                        <div class="th th-item">
                            <div class="td-inner">商品信息</div>
                        </div>
                        <div class="th th-price">
                            <div class="td-inner">单价</div>
                        </div>
                        <div class="th th-amount">
                            <div class="td-inner">数量</div>
                        </div>
                        <div class="th th-sum">
                            <div class="td-inner">金额</div>
                        </div>
                        <div class="th th-oplist">
                            <div class="td-inner">配送方式</div>
                        </div>

                    </div>
                </div>
                <div class="clear"></div>
                <div  v-for="cartItem in cart" :key="cartItem.productId">
                    <tr class="item-list">
                        <div class="bundle  bundle-last">
                            <div class="bundle-main">
                                <ul class="item-content clearfix">
                                    <div class="pay-phone">
                                        <li class="td td-item">
                                            <div class="item-pic">
                                                <a href="#" class="J_MakePoint">
                                                    <img :src="cartItem.mainPic" style="width: 80px;height: 80px" class="itempic J_ItemImg"></a>
                                            </div>
                                            <div class="item-info">
                                                <div class="item-basic-info">
                                                    <a href="#" class="item-title J_MakePoint" data-point="tbcart.8.11">{{cartItem.productName}}</a>
                                                </div>
                                            </div>
                                        </li>
                                        <li class="td td-info">
                                            <div class="item-props">
                                                <span class="sku-line">颜色：12#川南玛瑙</span>
                                                <span class="sku-line">包装：裸装</span>
                                            </div>
                                        </li>
                                        <li class="td td-price">
                                            <div class="item-price price-promo-promo">
                                                <div class="price-content">
                                                    <em class="J_Price price-now">{{cartItem.productPrice}}</em>
                                                </div>
                                            </div>
                                        </li>
                                    </div>
                                    <li class="td td-amount">
                                        <div class="amount-wrapper ">
                                            <div class="item-amount ">
                                                <span class="phone-title">购买数量</span>
                                                <div class="sl">
                                                    <input class="min am-btn" name="" type="button" value="-" @click="cartItem.number--"/>
                                                    <input class="text_box" name="" type="text" v-model.number="cartItem.number" style="width:30px;" />
                                                    <input class="add am-btn" name="" type="button" value="+" @click="cartItem.number++"/>
                                                </div>
                                            </div>
                                        </div>
                                    </li>
                                    <li class="td td-sum">
                                        <div class="td-inner">
                                            <em tabindex="0" class="J_ItemSum number">{{(cartItem.productPrice*cartItem.number).toFixed(2)}}</em>
                                        </div>
                                    </li>
                                    <li class="td td-oplist">
                                        <div class="td-inner">
                                            <span class="phone-title">配送方式</span>
                                            <div class="pay-logis">
                                                快递<b class="sys_item_freprice">包邮</b>
                                            </div>
                                        </div>
                                    </li>

                                </ul>
                                <div class="clear"></div>

                            </div>
                        </div>
                    </tr>
                </div>

                <div class="clear"></div>
            </div>

           <!-- <tr id="J_BundleList_s_1911116345_1" class="item-list">
                <div id="J_Bundle_s_1911116345_1_0" class="bundle  bundle-last">
                    <div class="bundle-main">
                        <ul class="item-content clearfix">
                            <div class="pay-phone">
                                <li class="td td-item">
                                    <div class="item-pic">
                                        <a href="#" class="J_MakePoint">
                                            <img src="../images/kouhong.jpg_80x80.jpg" class="itempic J_ItemImg"></a>
                                    </div>
                                    <div class="item-info">
                                        <div class="item-basic-info">
                                            <a href="#" target="_blank" title="美康粉黛醉美唇膏 持久保湿滋润防水不掉色" class="item-title J_MakePoint" data-point="tbcart.8.11">美康粉黛醉美唇膏 持久保湿滋润防水不掉色</a>
                                        </div>
                                    </div>
                                </li>
                                <li class="td td-info">
                                    <div class="item-props">
                                        <span class="sku-line">颜色：10#蜜橘色+17#樱花粉</span>
                                        <span class="sku-line">包装：两支手袋装（送彩带）</span>
                                    </div>
                                </li>
                                <li class="td td-price">
                                    <div class="item-price price-promo-promo">
                                        <div class="price-content">
                                            <em class="J_Price price-now">39.00</em>
                                        </div>
                                    </div>
                                </li>
                            </div>

                            <li class="td td-amount">
                                <div class="amount-wrapper ">
                                    <div class="item-amount ">
                                        <span class="phone-title">购买数量</span>
                                        <div class="sl">
                                            <input class="min am-btn" name="" type="button" value="-" />
                                            <input class="text_box" name="" type="text" value="3" style="width:30px;" />
                                            <input class="add am-btn" name="" type="button" value="+" />
                                        </div>
                                    </div>
                                </div>
                            </li>
                            <li class="td td-sum">
                                <div class="td-inner">
                                    <em tabindex="0" class="J_ItemSum number">117.00</em>
                                </div>
                            </li>
                            <li class="td td-oplist">
                                <div class="td-inner">
                                    <span class="phone-title">配送方式</span>
                                    <div class="pay-logis">
                                        包邮
                                    </div>
                                </div>
                            </li>

                        </ul>
                        <div class="clear"></div>

                    </div>
                </div>
            </tr>-->
        </div>
        <div class="clear"></div>
        <!--<div class="pay-total">
            &lt;!&ndash;留言&ndash;&gt;
            <div class="order-extra">
                <div class="order-user-info">
                    <div id="holyshit257" class="memo">
                        <label>买家留言：</label>
                        <input type="text" title="选填,对本次交易的说明（建议填写已经和卖家达成一致的说明）" placeholder="选填,建议填写和卖家达成一致的说明" class="memo-input J_MakePoint c2c-text-default memo-close">
                        <div class="msg hidden J-msg">
                            <p class="error">最多输入500个字符</p>
                        </div>
                    </div>
                </div>

            </div>
            &lt;!&ndash;优惠券 &ndash;&gt;
            <div class="buy-agio">
                <li class="td td-coupon">

                    <span class="coupon-title">优惠券</span>
                    <select data-am-selected>
                        <option value="a">
                            <div class="c-price">
                                <strong>￥8</strong>
                            </div>
                            <div class="c-limit">
                                【消费满95元可用】
                            </div>
                        </option>
                        <option value="b" selected>
                            <div class="c-price">
                                <strong>￥3</strong>
                            </div>
                            <div class="c-limit">
                                【无使用门槛】
                            </div>
                        </option>
                    </select>
                </li>

                <li class="td td-bonus">

                    <span class="bonus-title">红包</span>
                    <select data-am-selected>
                        <option value="a">
                            <div class="item-info">
                                ¥50.00<span>元</span>
                            </div>
                            <div class="item-remainderprice">
                                <span>还剩</span>10.40<span>元</span>
                            </div>
                        </option>
                        <option value="b" selected>
                            <div class="item-info">
                                ¥50.00<span>元</span>
                            </div>
                            <div class="item-remainderprice">
                                <span>还剩</span>50.00<span>元</span>
                            </div>
                        </option>
                    </select>

                </li>

            </div>
            <div class="clear"></div>
        </div>-->
        <!--含运费小计 -->
        <div class="buy-point-discharge ">
            <p class="price g_price ">
                合计（含运费） <span>¥</span><em class="pay-sum">{{sumPrice}}</em>
            </p>
        </div>

        <!--信息 -->
        <div class="order-go clearfix">
            <div class="pay-confirm clearfix">
                <div class="box">
                    <div tabindex="0" id="holyshit267" class="realPay"><em class="t">实付款：</em>
                        <span class="price g_price ">
                                    <span>¥</span> <em class="style-large-bold-red " id="J_ActualFee">{{sumPrice}}</em>
											</span>
                    </div>

                    <div id="holyshit268" class="pay-address">

                        <p class="buy-footer-address">
                            <span class="buy-line-title buy-line-title-type">寄送至：</span>
                            <span class="buy--address-detail">
								   <span class="province">{{selAddress.address}}</span>
												<!--<span class="city">武汉</span>市
												<span class="dist">洪山</span>区-->
												<span class="street">{{selAddress.fulladdress}}</span>
												</span>
                            </span>
                        </p>
                        <p class="buy-footer-address">
                            <span class="buy-line-title">收货人：</span>
                            <span class="buy-address-detail">
                                         <span class="buy-user">{{selAddress.contacts}} </span>
												<span class="buy-phone">{{selAddress.phone}}</span>
												</span>
                        </p>
                    </div>
                </div>

                <div id="holyshit269" class="submitOrder">
                    <div class="go-btn-wrap">
                        <a id="J_Go" href="javascript:;" @click="addOrder" class="btn-go" tabindex="0" title="点击此按钮，提交订单">提交订单</a>
                    </div>
                </div>
                <div class="clear"></div>
            </div>
        </div>
    </div>

    <div class="clear"></div>
</div>
</div>
<div class="footer">
    <div class="footer-hd">
        <p>
            <a href="#">恒望科技</a>
            <b>|</b>
            <a href="#">商城首页</a>
            <b>|</b>
            <a href="#">支付宝</a>
            <b>|</b>
            <a href="#">物流</a>
        </p>
    </div>
    <div class="footer-bd">
        <p>
            <a href="#">关于恒望</a>
            <a href="#">合作伙伴</a>
            <a href="#">联系我们</a>
            <a href="#">网站地图</a>
            <em>© 2015-2025 Hengwang.com 版权所有. 更多模板 <a href="http://www.cssmoban.com/" target="_blank" title="模板之家">模板之家</a> - Collect from <a href="http://www.cssmoban.com/" title="网页模板" target="_blank">网页模板</a></em>
        </p>
    </div>
</div>
</div>
<div class="theme-popover-mask" style="display: block" v-show="addAddressDialogShow"></div>
<div class="theme-popover" style="display: block" v-show="addAddressDialogShow">

    <!--标题 -->
    <div class="am-cf am-padding">
        <div class="am-fl am-cf"><strong class="am-text-danger am-text-lg">新增地址</strong> / <small>Add address</small></div>
    </div>
    <hr/>

    <div class="am-u-md-12">
        <form class="am-form am-form-horizontal">

            <div class="am-form-group">
                <label for="user-name" class="am-form-label">收货人</label>
                <div class="am-form-content">
                    <input type="text" id="user-name" placeholder="收货人" v-model="form.contacts">
                </div>
            </div>

            <div class="am-form-group">
                <label for="user-phone" class="am-form-label">手机号码</label>
                <div class="am-form-content">
                    <input id="user-phone" placeholder="手机号必填" type="email" v-model="form.phone">
                </div>
            </div>

            <div class="am-form-group">
                <label for="user-phone" class="am-form-label">所在地</label>
                <div class="am-form-content address">

                    <select id="cmbProvince"  ref="province" name="cmbProvince" ></select>
                    <select id="cmbCity" ref="city" name="cmbCity" ></select>
                    <select id="cmbArea" ref="area" name="cmbArea" ></select>

                </div>
            </div>

            <script>
                window.onload = function (){
                    addressInit('cmbProvince', 'cmbCity', 'cmbArea');
                }
            </script>

            <div class="am-form-group">
                <label for="user-intro" class="am-form-label">详细地址</label>
                <div class="am-form-content">
                    <textarea class="" rows="3" id="user-intro" placeholder="输入详细地址" v-model="form.fulladdress"></textarea>
                    <small>100字以内写出你的详细地址...</small>
                </div>
            </div>

            <div class="am-form-group theme-poptit">
                <div class="am-u-sm-9 am-u-sm-push-3">
                    <div class="am-btn am-btn-danger" @click="saveAddress">保存</div>
                    <div class="am-btn am-btn-danger close" @click="addAddressDialogShow=false">取消</div>
                </div>
            </div>
        </form>
    </div>

</div>

<div class="clear"></div>

<script>
    Vue.createApp({
        data() {
            return {
                addAddressDialogShow: false,
                addressList: [],
                selAddressId: 5,
                form: {
                    contacts: '',
                    phone: '',
                    fulladdress: ''
                },
                cart: [],
                wuliuSel: 'yuantong',
                paySel: 'weizhifu'
            }
        },
        computed: {
            sumPrice(){
                let sp = 0;
                this.cart.forEach(item=>{
                    sp += item.productPrice*item.number;
                })
                return sp.toFixed(2);
            },
            selAddress(){
                let selAddress = {};
                this.addressList.forEach(address=>{
                    if (address.id == this.selAddressId){
                        selAddress = address;
                    }
                });
               return selAddress;
            }
        },
        methods: {
            /*********下订单********/
            addOrder(){
                //创建order对象
                const order = {
                    sumprice: this.sumPrice,
                    addressId: this.selAddressId,
                    userId: this.userId,
                    payinfo: this.paySel,
                    wuliuinfo: this.wuliuSel
                }
                //创建订单详情的集合
                const orderDetails = []
                this.cart.forEach(item=>{
                    const orderDetail = {
                        name: item.productName,
                        mainpic: item.mainPic,
                        saleprice: item.productPrice,
                        number: item.number,
                        productId: item.productId
                    }
                    orderDetails.push(orderDetail);
                })
                //将订单详情的集合放入到订单对象中
                order.orderDetails = orderDetails;

                console.log(order);

                axios.post('/order',order)
                    .then(res=>{
                        if (res.data.code == 200){
                            window.location.href = "success.html?orderId="+res.data.data;
                        }
                    }).catch(error=>{
                        alert(error.message);
                })
            },
            handleEdit(address){
                this.form = address;
                let pca = address.address.split('-');
                console.log(pca);
                console.log(this.$refs.province);

                this.$refs.province.value = pca[0];
                provinceList.forEach(pro=>{
                    if (pro.name==pca[0]){
                        this.$refs.city.innerHTML = "";
                        pro.cityList.forEach(city=>{
                            appendOption(this.$refs.city,city.name);
                            if (city.name==pca[1]){
                                this.$refs.area.innerHTML = "";
                                city.areaList.forEach(area=>{
                                    appendOption(this.$refs.area,area);
                                })
                            }
                        })
                        this.$refs.city.value = pca[1];
                        this.$refs.area.value = pca[2];
                    }
                })

                this.addAddressDialogShow = true;
            },
            popAddAddressDialog(){
                this.form = {
                    contacts: '',
                    phone: '',
                    fulladdress: ''
                }
                this.addAddressDialogShow = true;
            },
            saveAddress(){
                const address =
                    this.$refs.province.value+'-'+this.$refs.city.value+'-'+this.$refs.area.value;
                const data = Object.assign({
                    userId: this.userId,
                    address: address
                },this.form);
                console.log(data);
                axios.post('/address',data)
                    .then(res=>{
                        if (res.data.code==200){
                            this.getAddressByUserId();
                            this.addAddressDialogShow = false;
                        }else{
                            alert(res.data.msg);
                        }
                    }).catch(error=>{
                        alert(error.message);
                    })

            },
            delAddress(addressId){
                if(confirm('您确定要删除吗？')){
                    axios.delete('/address/'+addressId)
                        .then(res=>{
                            if (res.data.code==200){
                                this.getAddressByUserId();
                            }
                        }).catch(error=>{
                            alert(error.message);
                        })
                }
            },
            getAddressByUserId(){
                axios.get('/address/byUserId/'+this.userId)
                    .then(res=>{
                        if (res.data.code==200){
                            this.addressList = res.data.data;
                            this.selAddressId = this.addressList[0].id;
                        }
                    }).catch(error=>{
                        alert(error.message);
                    })
            },
            /********查询购物车********/
            getCart(){
                //将1001更换为从本地存储来读取的用户编号
                axios.get('/cart/'+this.userId)
                    .then(res=>{
                        console.log('购物车：',res);
                        if(res.data.code==200){
                            this.cart = res.data.data;
                            if (this.cart.length==0){
                                alert("无购物车信息，不可下单");
                                window.location.href = 'search.html';
                            }
                        }else{
                            alert("无购物车信息，不可下单");
                            window.location.href = 'search.html';
                        }
                    })
                    .catch(error=>{
                        alert(error.message);
                    })
            }
        },
        mounted(){
            const user = getloginUser();
            this.username = user.username || user.phone || user.email;
            this.userId = user.id;
            this.getCart();
            this.getAddressByUserId();
        }
    }).mount("#app")
</script>

</body>

</html>